🧑💻 Решение задачи про поиск повторяющихся элементов в массиве
Задача: Дан массив с целыми числами длины n, все элементы которого лежат в диапазоне [1, n]. Каждый элемент появляется в массиве либо единожды, либо дважды. Требуется найти все числа, которые появляются дважды. Алгоритм должен работать за O(n).
Решение 1: Довольно очевидный способ с использованием множеств. Создаём два множества, проходимся в цикле по массиву и проверяем, если элемент уже есть в первом множестве, то добавляем его в результирующее множество. Возвращаем результирующее множество.
Решение 2 (быстрее и использует меньше памяти): Используем тот факт, что все числа массива находятся в диапазоне от 1 до n. Создаём результирующий список и идём в цикле по массиву. Вычисляем на основе каждого элемента index, а затем берём элемент массива по этому индексу. Если элемент по индексу неотрицательный, то заменяем его отрицательным. Если отрицательный, то добавляем изначальный элемент в результирующий список.
🧑💻 Решение задачи про поиск повторяющихся элементов в массиве
Задача: Дан массив с целыми числами длины n, все элементы которого лежат в диапазоне [1, n]. Каждый элемент появляется в массиве либо единожды, либо дважды. Требуется найти все числа, которые появляются дважды. Алгоритм должен работать за O(n).
Решение 1: Довольно очевидный способ с использованием множеств. Создаём два множества, проходимся в цикле по массиву и проверяем, если элемент уже есть в первом множестве, то добавляем его в результирующее множество. Возвращаем результирующее множество.
Решение 2 (быстрее и использует меньше памяти): Используем тот факт, что все числа массива находятся в диапазоне от 1 до n. Создаём результирующий список и идём в цикле по массиву. Вычисляем на основе каждого элемента index, а затем берём элемент массива по этому индексу. Если элемент по индексу неотрицательный, то заменяем его отрицательным. Если отрицательный, то добавляем изначальный элемент в результирующий список.
#junior #middle
BY Библиотека собеса по Data Science | вопросы с собеседований
That strategy is the acquisition of a value-priced company by a growth company. Using the growth company's higher-priced stock for the acquisition can produce outsized revenue and earnings growth. Even better is the use of cash, particularly in a growth period when financial aggressiveness is accepted and even positively viewed.he key public rationale behind this strategy is synergy - the 1+1=3 view. In many cases, synergy does occur and is valuable. However, in other cases, particularly as the strategy gains popularity, it doesn't. Joining two different organizations, workforces and cultures is a challenge. Simply putting two separate organizations together necessarily creates disruptions and conflicts that can undermine both operations.
Spiking bond yields driving sharp losses in tech stocks
A spike in interest rates since the start of the year has accelerated a rotation out of high-growth technology stocks and into value stocks poised to benefit from a reopening of the economy. The Nasdaq has fallen more than 10% over the past month as the Dow has soared to record highs, with a spike in the 10-year US Treasury yield acting as the main catalyst. It recently surged to a cycle high of more than 1.60% after starting the year below 1%. But according to Jim Paulsen, the Leuthold Group's chief investment strategist, rising interest rates do not represent a long-term threat to the stock market. Paulsen expects the 10-year yield to cross 2% by the end of the year.
A spike in interest rates and its impact on the stock market depends on the economic backdrop, according to Paulsen. Rising interest rates amid a strengthening economy "may prove no challenge at all for stocks," Paulsen said.
Библиотека собеса по Data Science | вопросы с собеседований from ca